home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Xenosoft 2
/
Xenosoft 2 (Game collection)(1994).iso
/
bioforge
/
script
/
chaosmon.scp
< prev
next >
Wrap
Text File
|
1994-11-22
|
42KB
|
1,781 lines
// ----------------- MONITOR INTERFACE SECTION -------------------
// SECTION #S AND DESCRIPTIONS REFERENCE REFERENCE THE
// BIOFORGE SCREENPLAY 2/14/94
// USE SECTION
{ ELEV2_H1_USE
I ^å¡ = 1 THEN é
I @Çä () NOTIN 50,130 THEN é
^Ç┤ ++
M PUSH_BUTTON CONTINUE
W 5
@Ç¥ ELEVATOR_MONITOR
M STAND CONTINUE
^Ç┤ --
}
{ ELEV2_H2_USE
I ^å¡ = 1 THEN é
I @Çä () NOTIN -115,-45 THEN é
^Ç┤ ++
M PUSH_BUTTON CONTINUE
W 5
@Ç¥ ELEVATOR_MONITOR
M STAND CONTINUE
^Ç┤ --
}
{ MANT_MON_USE
^Ç┤ ++
I ( @Çä IN (110,162) ) THEN
{
//GO MAINTLOC WALK 10
£ MAINTLOC GRADUAL
M LOOK_CONSOLE FREEZE
@Ç¥ GR_MAINTENANCELOG
M STAND CONTINUE
}
^Ç┤ --
}
{ BOT_MON_USE
// ROBOT MONITOR TRIGGER PROCESS
^Ç┤ ++
// MAKE SURE HE IS MOSTLY FACING THE CONTROL PANEL, AND
// AVOID CONFUSION WITH THE SECURITY MONITOR.
I ( @Çä NOTIN (-90,135) ) THEN
{
£ BOTMNLOC GRADUAL
M LOOK_CONSOLE FREEZE
@Ç¥ GR_ROBOTCONTROLPANEL $âà
M STAND CONTINUE
I @Ç¢ (USE_BOT) THEN
┬
}
^Ç┤ --
}
{ SEC_MON_USE
^Ç┤ ++
I ( @Çä IN (45,135) ) THEN
{
£ SEC_LOC GRADUAL
M LOOK_CONSOLE FREEZE
@Ç¥ GR_SECURITYMONITOR
M STAND CONTINUE
}
^Ç┤ --
}
{ CRYM_USE
^Ç┤ ++
I ( @Çä IN (-135,-45) ) THEN
{
£ CM_LOC GRADUAL
M LOOK_AT_MON FREEZE
@Ç¥ CR_FREEZERMONITOR
M STAND CONTINUE
}
^Ç┤ --
}
// 7.04 CELLBLOCK CORRIDOR/CIRCUIT BOARD
[ CELPAN_SPARKS
// RUN SPARKS ANINMATION HERE - BUG
]
{ BOARD
< DATA1 = 13 1 7 2 8 3 9 4 10 5 11 18 12 6 >
< DATA2 = 11 6,11 17,10 16,21 15, 8 14,19 13 >
< DATA3 = 16 13, 7 2 8,15 20 15, 9 16 10,17 22 17,11 18 24 >
< DATA4 = 21 24,18 11 17 23,17 10 5 11, 5 10 16 9, 3 8 3 8, 2 2 2 7 >
// NOTE ON ABOVE DATA:
// EACH ROW REPRESENTS A PUZZLE STATE (1..4, 5=SOLVED)
// POS 0: LENGTH OF THE SERIES FOR THAT STATE
// POS 1: STARTING LOCATION (1..24) FOR THE SERIES
// 2... : THE DATA SERIES TO COMPLETE THE STATE
}
{ WAIT10
W 10
}
{ CC_CIRCUITBOARD
I ( @Çú () ) THEN é
"clpn"
m
// DEFINE BUTTONS
"u01b" $Ǽ
"u02b" $Ǽ
"u03b" $Ǽ
"u04b" $Ǽ
"u05b" $Ǽ
// MAX_PIXELS_PER_SECOND, ACCELERATION 120,1 DEFAULT
å 360 1
// TIME FOR PTR TO PRESS & RELEASE: PRESS_TIME, HOLD_TIME, RELEASE_TIME
// DEFAQULT 60 30 60
ç 10 5 10
//#IFDEF DEBUG_ON
( "DB1L", 1, "/!-" )
( "DB2L", 1, "/!-" )
( "DB3L", 1, "/!-" )
( "DB4L", 1, "/!-" )
//#ENDIF
J #Çô
//---------------------------------------------------------------------
:LOOP
^ï¢ = @Çì WAIT10
:MINILOOP
â
I @Çó ( ^ï¢ ) THEN
J #Çï
I (^å¿ = $Ç╗ ) THEN
{
J #Çî
}
J #Çè
//---------------------------------------------------------------------
:UPDATE_PATTERN
// IF _CELPAN_STATE = 5 THEN JUMP WIN_LOOP <--- LONG PUZZLE
I ^åí = 4 THEN J #Çù
// CURRENTLY AT THE END OF SEQUENCE?
^åï = ^åí + 1
I ^åª = ^åï THEN
{
c (^åñ ,^åÑ )
^åª = -4
}
// 3-STAGE PRE-SEQUENCE INITIALIZER
I ^åª < 1 THEN
{
I ^åª = -3 THEN
{
("BOXA",1) // TURN ON FLASH BOX
@Çå (`äë ) // SFX: MAIN FLASH BOX SOUND
}
I ^åª = -2 THEN
{
("BOXA",0) // TURN OFF FLASH BOX
}
I ^åª = -1 THEN
{
a (^åñ ,^åó )
}
I ^åª = 0 THEN
{
b (^åñ ,^åó )
}
^åª ++
J #Çö
}
// IF _CELPAN_CUR_PTR < 1 THEN
// {
// IF _CELPAN_CUR_PTR = -2 THEN
// {
// SETFLAG(_CELPAN_FLAG,_CELPAN_START)
// }
// IF _CELPAN_CUR_PTR = -1 THEN
// {
// CLEARFLAG(_CELPAN_FLAG,_CELPAN_START)
// MON_SETFRAME("BOXA",1) // TURN ON FLASH BOX
// @SOUND(_CELL_PANEL_FLASHBOX) // SFX: MAIN FLASH BOX SOUND
// }
// IF _CELPAN_CUR_PTR = 0 THEN
// {
// SETFLAG(_CELPAN_FLAG,_CELPAN_START)
// MON_SETFRAME("BOXA",0) // TURN OFF FLASH BOX
// }
// _CELPAN_CUR_PTR ++
// JUMP UPDATE_GRID
// }
// ACTUAL SEQUENCE PERFORMANCE
I ^åª > 1 THEN
c (^åñ ,^åÑ )
^åï = ^åº + ^åª
N (^åí )
{
U 1
^åÑ = @ÇÉ (BOARD,DATA1, ^åï )
X ÇÇ
U 2
^åÑ = @ÇÉ (BOARD,DATA2, ^åï )
X ÇÇ
U 3
^åÑ = @ÇÉ (BOARD,DATA3, ^åï )
X ÇÇ
U 4
^åÑ = @ÇÉ (BOARD,DATA4, ^åï )
X ÇÇ
}
c (^åñ ,^åÑ )
^åª ++
// SUPRESS DOUBLE-TOGGING FOR STATIONARY #3 BUTTON SEQUENCES
// IF (_CELPAN_STATE = 4) THEN
// {
// IF (_TEMP1 = 19) THEN CLEARFLAG(_CELPAN_FLAG,2)
// IF (_TEMP1 = 20) THEN SETFLAG(_CELPAN_FLAG,2)
// }
J #Çö
//---------------------------------------------------------------------
:U01B_BUTTON // UPPER LEFT BUTTON
@Çå (`ü¡ ) // SFX: BUTTON PUSH
I ^å¿ = $Ç╗ THEN
@Çì CELL_PANEL_BUTTON_PUSHED
// MOVE TO NEW LOCATION
^å⌐ = ^åÑ - 6
I ^åÑ > 12 THEN
{
I ^åÑ < 19 THEN
{
^å⌐ --
}
}
J #ÇÆ
//---------------------------------------------------------------------
:U02B_BUTTON // UPPER RIGHT BUTTON
@Çå (`ü¡ ) // SFX: BUTTON PUSH
I ^å¿ = $Ç╗ THEN
@Çì CELL_PANEL_BUTTON_PUSHED
// MOVE TO NEW LOCATION
^å⌐ = ^åÑ - 5
I ^åÑ > 12 THEN
{
I ^åÑ < 19 THEN
{
^å⌐ --
}
}
J #ÇÆ
//---------------------------------------------------------------------
:U03B_BUTTON // CENTER BUTTON
@Çå (`ü¡ ) // SFX: BUTTON PUSH
I ^å¿ = $Ç╗ THEN
@Çì CELL_PANEL_BUTTON_PUSHED
// MOVE TO NEW LOCATION
^å⌐ = ^åÑ
J #ÇÆ
//---------------------------------------------------------------------
:U04B_BUTTON // LOWER LEFT BUTTON
@Çå (`ü¡ ) // SFX: BUTTON PUSH
I ^å¿ = $Ç╗ THEN
@Çì CELL_PANEL_BUTTON_PUSHED
// MOVE TO NEW LOCATION
^å⌐ = ^åÑ + 5
I ^åÑ > 6 THEN
{
I ^åÑ < 13 THEN
{
^å⌐ ++
}
}
J #ÇÆ
//---------------------------------------------------------------------
:U05B_BUTTON // LOWER RIGHT BUTTON
@Çå (`ü¡ ) // SFX: BUTTON PUSH
I ^å¿ = $Ç╗ THEN
@Çì CELL_PANEL_BUTTON_PUSHED
^å⌐ = ^åÑ + 6
I ^åÑ > 6 THEN
{
I ^åÑ < 13 THEN
{
^å⌐ ++
}
}
J #ÇÆ
//---------------------------------------------------------------------
:RESOLVE_MOVE // RESOLVE A VAILD MOVE
// CALCULATE THE NEXT VALID LOCATION
^åª ++
^åï = ^åº + ^åª
N (^åí )
{
U 1
^åÑ = @ÇÉ (BOARD,DATA1, ^åï )
X Çü
U 2
^åÑ = @ÇÉ (BOARD,DATA2, ^åï )
X Çü
U 3
^åÑ = @ÇÉ (BOARD,DATA3, ^åï )
X Çü
U 4
^åÑ = @ÇÉ (BOARD,DATA4, ^åï )
X Çü
}
// IF NEXT VALID LOCATION != NEW LOCATION, THEN ZAPPPP!!!!
I ^åÑ != ^å⌐ THEN
{
@Çå `â┐
J #Çò
}
// LIGHT IT UP!! (OR TURN IT OFF...)
c (^åñ ,^åÑ )
// IS THE SEQUENCE DONE ??
I ^åª = ^åí THEN
{
^åª = -4 // RESET CURRENT PTR
^åº += ^åí // ADVANCE SEQUENCE PTR
^å¿ = $Ç╗
// HAS THE STATE CHANGED ?
I ^åº = ^å¬ THEN
{
^åí ++
// IS THE PUZZLE SOLVED ??
I (^åí = 5) THEN J #Çö // WIN
N (^åí )
{
U 5
("C04A",1);
U 4
("C03A",1);
U 3
("C02A",1);
U 2
("C01A",1);
U 1
X Çé
}
@Çå (`ü▒ ) // SFX: MINOR SUCCESS SOUNDS
â
@Çå (`ü▒ ) // SFX: MINOR SUCCESS SOUNDS
â
@Çå (`ü▒ ) // SFX: MINOR SUCCESS SOUNDS
â
J #Çô
}
^åó = ^åÑ
}
J #Çö
//---------------------------------------------------------------------
:INITIALIZE_STATE
^å¿ = $Ç╗
^åª = -4 // RELATIVE POSITION WITHIN SEQUENCE
^åº = 1 // ABSOLUTE START POSITION OF SEQUENCE
N (^åí )
{
U 1
^åñ = 2 // NOTHING SOLVED YET ($02)
X Çâ
U 2
^åñ = 270334 // 1ST STATE SOLVED ($041FFE)
X Çâ
U 3
^åñ = 3142398 // 2ND STATE SOLVED ($2FF2FE)
X Çâ
U 4
^åñ = 24837498 // 3RD STATE SOLVED ($17AFD7A)
X Çâ
U 5
^åñ = 268435455 // PUZZLE SOLVED ($FFFFFFF)
X Çâ
}
// IS THE PUZZLE SOLVED YET ?
I ^åí < 5 THEN
{
N (^åí )
{
U 1
^å¬ = @ÇÉ (BOARD,DATA1, 0)
^åó = @ÇÉ (BOARD,DATA1, 1)
^åÑ = @ÇÉ (BOARD,DATA1, 2)
X Çä
U 2
^å¬ = @ÇÉ (BOARD,DATA2, 0)
^åó = @ÇÉ (BOARD,DATA2, 1)
^åÑ = @ÇÉ (BOARD,DATA2, 2)
X Çä
U 3
^å¬ = @ÇÉ (BOARD,DATA3, 0)
^åó = @ÇÉ (BOARD,DATA3, 1)
^åÑ = @ÇÉ (BOARD,DATA3, 2)
X Çä
U 4
^å¬ = @ÇÉ (BOARD,DATA4, 0)
^åó = @ÇÉ (BOARD,DATA4, 1)
^åÑ = @ÇÉ (BOARD,DATA4, 2)
X Çä
}
};
// UPDATE STAR PATTERN
("C01A",0);
("C02A",0);
("C03A",0);
("C04A",0);
N (^åí )
{
U 5
("C04A",1);
U 4
("C03A",1);
U 3
("C02A",1);
U 2
("C01A",1);
U 1
X Çà
}
//---------------------------------------------------------------------
:UPDATE_GRID
("L01A",@ÇÅ (^åñ ,1))
("L02A",@ÇÅ (^åñ ,2))
("L03A",@ÇÅ (^åñ ,3))
("L04A",@ÇÅ (^åñ ,4))
("L05A",@ÇÅ (^åñ ,5))
("L06A",@ÇÅ (^åñ ,6))
("L07A",@ÇÅ (^åñ ,7))
("L08A",@ÇÅ (^åñ ,8))
("L09A",@ÇÅ (^åñ ,9))
("L10A",@ÇÅ (^åñ ,10))
("L11A",@ÇÅ (^åñ ,11))
("L12A",@ÇÅ (^åñ ,12))
("L13A",@ÇÅ (^åñ ,13))
("L14A",@ÇÅ (^åñ ,14))
("L15A",@ÇÅ (^åñ ,15))
("L16A",@ÇÅ (^åñ ,16))
("L17A",@ÇÅ (^åñ ,17))
("L18A",@ÇÅ (^åñ ,18))
("L19A",@ÇÅ (^åñ ,19))
("L20A",@ÇÅ (^åñ ,20))
("L21A",@ÇÅ (^åñ ,21))
("L22A",@ÇÅ (^åñ ,22))
("L23A",@ÇÅ (^åñ ,23))
("L24A",@ÇÅ (^åñ ,24))
@Çå (`üÉ , 60) // SFX: SOUND OF GRID-LIGHT TURNING ON OR OFF
J #Çè
//---------------------------------------------------------------------
// LEX HAS GOOFED UP.... ZAP HIM!!!
:ZAP
^å½ ++
I ^å½ == 2 THEN i LEX PANELF1
I ^å½ == 5 THEN i LEX PANELF5
@Çì CELPAN_EXPLOSION
M CELPAN_ZAP CONTINUE
W 30
M SUPER_REC_TL
é
//---------------------------------------------------------------------
// PUZZLE COMPLETED !!!
:WIN
:WIN_LOOP
("C01A",0);
("C02A",1);
("C03A",0);
("C04A",1);
@Çå (`ü▓ )
â
("C01A",1);
("C02A",0);
("C03A",1);
("C04A",0);
@Çå (`ü▓ )
â
L #Çù 4
("C02A",1);
("C04A",1);
@Çå (`ü▓ )
â
W 30
//---------------------------------------------------------------------
// ESCAPE BUTTON PUSHED: LEAVE THE PUZZLE
:ESCAPE_BUTTON
}
{ CELL_PANEL_BUTTON_PUSHED
// CALLED ONLY IF BUTTON WAS PUSHED AND PLAYER IS CURRENTLY
// NOT ENTERING DATA. BASICALLY, THIS RESETS THE DISPLAY FOR INPUT.
^å¿ = $Ç╝
a (^åñ ,^åó )
I ^åª > 1 THEN
c (^åñ ,^åÑ )
("BOXA",1) // TURN ON FLASH BOX
^åª = 0
^åÑ = ^åó
}
// **** CELL BLOCK MONITORS ****
{ MONCL1_USE
^Ç┤ ++
I ( @Çä IN (-135,-45) ) THEN
{
//GO C1MONLOC WALK 10
£ C1MONLOC GRADUAL
M LOOK_AT_MON FREEZE
@Ç¥ ( GR_CELLMONITOR, 1, ^à« )
M STAND CONTINUE
}
^Ç┤ --
}
{ MONCL2_USE
^Ç┤ ++
I ( @Çä IN (-135,-45) ) THEN
{
//GO C2MONLOC WALK 10
£ C2MONLOC GRADUAL
M LOOK_AT_MON FREEZE
@Ç¥ ( GR_CELLMONITOR, 2, ^à» )
M STAND CONTINUE
}
^Ç┤ --
}
{ MONCL3_USE
^Ç┤ ++
I ( @Çä IN (-135,-45) ) THEN
{
//GO C3MONLOC WALK 10
£ C3MONLOC GRADUAL
M LOOK_AT_MON FREEZE
@Ç¥ ( GR_CELLMONITOR, 3, ^à░ )
M STAND CONTINUE
}
^Ç┤ --
}
{ MONCL4_USE
^Ç┤ ++
I ( @Çä IN (-135,-45) ) THEN
{
//GO C4MONLOC WALK 10
£ C4MONLOC GRADUAL
M LOOK_AT_MON FREEZE
@Ç¥ ( GR_CELLMONITOR, 4, ^à▒ )
M STAND CONTINUE
}
^Ç┤ --
}
{ DENYACCESS
:TELLDENIAL
//@@@ TRANSLATE F
( "FBRL", $Ç¡ , "ACCESS DENIED /FRENCH /G ZUTRITT VERWEIGERT!" //@@@ PLEASE TRANSLATE
@Çå (`ä¡ )
W 15
( "FBRL", $Ç¡ , "-------------"
W 15
L #ǃ 3
( "FBRL", $Ǽ , "FORCE BARS/FBARREAUX/GSTROMSCHRANKEN" ); //@@@ PLEASE TRANSLATE
}
// 7.05 GUARD ROOM/CELL ONE MONITOR
// 7.06 GUARD ROOM/CELL TWO MONITOR
// 7.07 GUARD ROOM/CELL THREE MONITOR
// 7.08 GUARD ROOM/CELL FOUR MONITOR
// DEPENDS ON _CELL_MONITOR == 1,2,3,4
{ GR_CELLMONITOR _CELL_MONITOR _CELX_OFF
I ( @Çú () ) THEN é
^åû = 0
^å│ = 1
"CELL"
( "CMRL", "CAMERA/FCAMERA/GKAMERA");
( "fBRL", "FORCE BARS/FBARREAUX/GSTROMSCHRANKEN");
( "CELL", "CELL/FCELLULE/GZELLE");
( "CMAL", "CAM./FCAM./GKAM.");
I ( ~Çü ) THEN
{
( "BT1b", "ON/FEN MARCHE/GAN", $Ǽ , $Ç▒ );
( "BT2b", "OFF/FARRET/GAUS", $Ç« , $Ç▒ );
}
E
{
( "BT1b", "ON/FEN MARCHE/GAN", $Ç« , $Ç▒ );
( "BT2b", "OFF/FARRET/GAUS", $Ǽ , $Ç▒ );
}
( "BT3b", "/!1", $Ç« , $Ç▒ );
( "BT4b", "/!2", $Ǽ , $Ç▒ );
( "BT5b", $Ç¡ , "EXIT/FSORTIE/GZURÜCK" );
:LOOP
I ^å│ = 1 THEN ("CMNL","/!1");
I ^å│ = 2 THEN ("CMNL","/!2");
N (~ÇÇ )
{
U 1
I ^å│ = 1 THEN C CE11
I ^å│ = 2 THEN C CE12
I ^å│ = 1 THEN ("VEWV","CE11")
I ^å│ = 2 THEN ("VEWV","CE12")
("NUML","/!1")
X Çå
U 2
I ^è╖ != 0 THEN
{
I ^å│ = 1 THEN C CE23
I ^å│ = 2 THEN C CE24
I ^å│ = 1 THEN ("VEWV","CE23")
I ^å│ = 2 THEN ("VEWV","CE24")
}
E
{
I ^å│ = 1 THEN C CE21
I ^å│ = 2 THEN C CE22
I ^å│ = 1 THEN ("VEWV","CE21")
I ^å│ = 2 THEN ("VEWV","CE22")
}
("NUML","/!2")
X Çå
U 3
I ^å│ = 1 THEN C CE31
I ^å│ = 2 THEN C CE32
I ^å│ = 1 THEN ("VEWV","CE31")
I ^å│ = 2 THEN ("VEWV","CE32")
("NUML","/!3")
X Çå
U 4
I ^å│ = 1 THEN C CE41
I ^å│ = 2 THEN C CE42
I ^å│ = 1 THEN ("VEWV","CE41")
I ^å│ = 2 THEN ("VEWV","CE42")
("NUML","/!4")
X Çå
}
â
J #Çí
// CAMERA ONE BUTTON
:BT3B_BUTTON
@Çå (`ü▓ )
( "BT4b", "/!2", $Ǽ , $Ç▒ );
^å│ = 1
J #Çí
// CAMERA TWO BUTTON
:BT4B_BUTTON
@Çå (`ü▓ )
( "BT3b", "/!1", $Ǽ , $Ç▒ );
^å│ = 2
J #Çí
// TURN BARS ON
:BT1B_BUTTON
@Çå (`üÉ )
( "BT2b", "OFF/FARRET/GAUS", $Ǽ , $Ç▒ );
N ~ÇÇ
{
U 1
@Ç¥ SETCELLONEBARS( 0 )
X Çç
U 2
@Çì DENYACCESS
X Çç
U 3
@Ç¥ SETCELLTHREEBARS( 0 )
X Çç
U 4
@Ç¥ SETCELLFOURBARS( 0 )
X Çç
}
J #Çí
// TURN BARS OFF
:BT2B_BUTTON
@Çå (`üÉ )
( "BT1b", "ON/FEN MARCHE/GAN", $Ǽ , $Ç▒ );
N ~ÇÇ
{
U 1
@Ç¥ SETCELLONEBARS( 1 )
X Çê
U 2
@Çì DENYACCESS
X Çê
U 3
@Ç¥ SETCELLTHREEBARS( 1 )
X Çê
U 4
@Ç¥ SETCELLFOURBARS( 1 )
X Çê
}
J #Çí
:BT5B_BUTTON
@Çå (`ü▓ )
:STOPIT
:ESCAPE_BUTTON
C UNLOCK
C UNLOCK
}
// 7.09 GUARD ROOM/CELLBLOCK DATA MONITOR
// CELL MONITOR WITH PRISONER SUMMARIES
{ GR_CELLBLOCKDATAMONITOR
I ( @Çú () ) THEN é
"CLVL"
^è╡ = $Ç╗
:ATTRACT
m
// CELL SHAPE BUTTONS
"bc1b" $Ǽ "/! " $Ǽ $Ç▓
"bc2b" $Ǽ "/! " $Ǽ $Ç▓
"bc3b" $Ǽ "/! " $Ǽ $Ç▓
"bc4b" $Ǽ "/! " $Ǽ $Ç▓
"blka" 1
"HEaL" "PRISONER INFORMATION
/FPRISONNIER INFORMATION
/GINFORMATION ÜBER INSASSE"
"UC1L" "/!C-1"
"LC1L" "/!BX-3497"
"UC2L" "/!C-2"
"LC2L" "CLASSIFIED
/FCLASSÉE
/GGEHEIM"
"UC3L" "/!C-3"
"LC3L" "/!AP-127"
"UC4L" "/!C-4"
"LC4L" "/!AP-128"
"xikb" $Ç¡ "EXIT/FSORTIE/GZURÜCK"
^è╡ = $Ç╝
:CEL_MON1_LOOP
â
J #ǽ
:BC1B_BUTTON
@Çå (`ü¼ )
m
"HEaL" "PRISONER INFORMATION 1
/FPRISONNIER INFORMATION 1
/GINFORMATION ÜBER INSASSE 1"
j "inft" "cell1"
"xikb" $Ç¡ "EXIT/FSORTIE/GZURÜCK"
^è╡ = $Ç╗
J #ǽ
:BC2B_BUTTON
@Çå (`ü¼ )
m
"HEaL" "PRISONER INFORMATION 2
/FPRISONNIER INFORMATION 2
/GINFORMATION ÜBER INSASSE 2"
j "inft" "cell2"
"xikb" $Ç¡ "EXIT/FSORTIE/GZURÜCK"
^è╡ = $Ç╗
J #ǽ
:BC3B_BUTTON
@Çå (`ü¼ )
m
"HEaL" "PRISONER INFORMATION 3
/FPRISONNIER INFORMATION 3
/GINFORMATION ÜBER INSASSE 3"
j "inft" "cell3"
"xikb" $Ç¡ "EXIT/FSORTIE/GZURÜCK"
^è╡ = $Ç╗
J #ǽ
:BC4B_BUTTON
@Çå (`ü¼ )
m
"heal" "Prisoner INFORMATION 4
/FPRISONNIER INFORMATION 4
/GINFORMATION ÜBER INSASSE 4"
j "inft" "cell4"
"xikb" $Ç¡ "EXIT/FSORTIE/GZURÜCK"
^è╡ = $Ç╗
J #ǽ
:XIKB_BUTTON
I ^è╡ == $Ç╗ THEN
J #Ǭ
:ESCAPE_BUTTON
@Çå (`ü▓ )
}
// ********** PALM READERS *********************
// OPERATING ROOM
{ OR_PALMREADER
@Ç¥ ( PALMREADER(3) ) // FOR DOOR #3 - DR3
}
// CONTROL HALLWAY LEADING INTO CONTROL ROOM
{ CH_PALMREADER
@Ç¥ ( PALMREADER(4) ) // FOR DOOR #4 - DR4
}
// GAURD ROOM & DOORWAY OUTSIDE GUARD ROOM
{ GR_PALMREADER
@Ç¥ ( PALMREADER(6) ) // FOR DOOR #6 - DR6
}
// 7.11 GUARD ROOM/PALM READER
{ PALMREADER _RDR_NO
P ~Çü
I ( @Çú () ) THEN é
// ACCESS_GRANTED = _CAYNAN_SECURITY_ID_OK && @ISCARRYING(RTHAND, CAYARM)
~Çü = 0
I (^è╣ ) THEN
{
@ÇÜ ( CAYARM, CLOSEST )
I ( @Çæ ( RTHAND, CAYARM ) ) THEN
// IF( @AMINTRIGGER( CURITEM, ARMHERE1 ) OR @AMINTRIGGER( CURITEM, ARMHERE2 ) ) THEN
~Çü = 1
}
"palm"
m
// PROHIBIT PTR MOVEMENT OF PTR BY DISABLING MONITOR INPUT
Å 0
// HIDE PTR INITIALLY
0
// SET PTR TO HAND PLACED ON PALM READER
@ÇÜ ( CAYARM, CLOSEST )
I ( @Çæ ( RTHAND, CAYARM ) ) THEN
( "pcayhand", 0 )
E
{
( "plexhand", 0 )
i LEX SCANFAIL
^è║ ++
I ^è║ > 2 THEN
i LEX SCANF2
}
// PLACE PTR (HAND) FROM BEG TO END POSITION
//MON_DEFINEBUTTON "begb" _MON_HIGHLIGHT
// SET PTR POS IN PREPERATION TO MOVE TOWARDS ENDB BUTTON
─ 156 207
// SHOW MONITOR
W 15
"endb" $Ǽ
// SIMULATE TAB PRESS TO MOVE TO "end" BUTTON POS
╞ $é⌐
1
// ALLOW RESULTS OF TAB BEFORE MON_JUMP
â
//WAIT 60
:LOOP
â
J #Ç╢
:ENDB_HIGHLIGHT
// SET ART FRAMES...
I (~Çü = 1) THEN
{
@Çå (`ä¼ )
"clra" 1
}
E
{
@Çå (`ä¡ )
"fala" 1
}
W 60
J #Ç╕
:ESCAPE_BUTTON
@Çå (`ü▓ )
I (~Çü = 1) THEN
{
N (~ÇÇ )
{
U 3
@Ç¥ ( OPENDR6 )
X Çë
U 4
@Ç¥ ( OPENDR6 )
X Çë
U 6
@Ç¥ ( OPENDR6 )
X Çë
V
}
}
// ELSE // NO OPEN
}
// 7.14 GUARD ROOM/SECURITY MONITOR
// JAR -- WITH SOME REVISIONS BY KGC
{ GR_SECURITYMONITOR
P ~ÇÇ
I ( @Çú () ) THEN é
"prsn"
J #Ç╗
:LOOP
â
J #Ç║
// PERSONNEL SCREEN BUTTONS....
:ENTER_PERSONNEL
m
// ART
"rnga" 1
"radb" $Ǽ "EMERGENCY/FALERTE/GNOTFALL"
// MAIN SCREEN BUTTONS...
"hedl" "PERSONNEL/FPERSONNEL/GPERSONAL"
// BUTTONS
"comb" $Ǽ "COMMAND
/FCOMMANDE
/GKOMMANDO"
"scib" $Ǽ "SCIENTIFIC
/FSCIENTIFIQUE
/GWISSENSCHAFT"
"secb" $Ǽ "SECURITY
/FSECURITE
/GSICHERHEIT"
"accb" $Ǽ "ACCESS
/FACCES
/GZUTRITT"
// HIGHLIGHT EXIT BUTTON
"axtb" $Ç¡ "EXIT/FSORTIE/GZURÜCK"
"mrgl" $Ǽ "EMERGENCY /FURGENCE /GNOTFALL"
J #Ç║
:COMB_BUTTON
@Çå (`ü¡ )
J #üë
:SCIB_BUTTON
@Çå (`ü¡ )
J #üè
:SECB_BUTTON
@Çå (`ü¡ )
J #üï
// END PERSONNEL SCREEN BUTTONS....
:RADB_BUTTON
@Çå (`ü¡ )
// ******* EMERGENCY SCREEN ********
m
ê ( "mlgt", "EVAC" )
( "mfrl", "FUSION REACTOR/FFUSION REACTEUR/GFUSIONSREAKTOR" )
( "mpsl", "EMERGENCY PROCEDURE/FPROCEDURE D'URGENCE/GIM NOTFALL" )
// WE USING BLANKS HERE SO THAT NO TEXT WILL APPEAR
( "mSUB", "/! ");
( "mSDB", "/! ");
( "mPUB", "/! ");
( "mPDB", "/! ");
( "mxtb", "EXIT/FSORTIE/GZURÜCK", $Ç¡ );
J #Ç║
:MSUB_REPEAT
:MSUB_BUTTON
@Çå (`ü« )
k ( "MLGT", $Ç╖ )
J #Ç║
:MSDB_REPEAT
:MSDB_BUTTON
@Çå (`ü« )
k ( "MLGT", $Ç╕ )
J #Ç║
:MPDB_REPEAT
:MPDB_BUTTON
@Çå (`ü» )
k ( "MLGT", $Ç┤ )
J #Ç║
:MPUB_REPEAT
:MPUB_BUTTON
@Çå (`ü» )
k ( "MLGT", $Ç│ )
J #Ç║
:MXTB_BUTTON
@Çå (`üÉ , 150, -1024)
// GOTO ATTRACT
J #Ç╗
:ENTER_COMMAND_LOG
m
// ART
"bkga" $Ǽ
"logl" "COMMAND/FCOMMANDE/GKOMMANDOZENTRALE"
ê "LOGT" "GSECCOM" 120 190 195 // INCLUDE TAB STOPS
J #üî
:ENTER_SCIENTIFIC_LOG
m
// ART
"bkga" $Ǽ
"logl" "SCIENTIFIC/FSCIENTIFIQUE/GWISSENSCHAFT"
ê "LOGT" "GSECSCI" 120 150 200 // INCLUDE TAB STOPS
J #üî
:ENTER_SECURITY_LOG
m
// ART
"bkga" $Ǽ
"logl" "SECURITY/FSECURITE/GSICHERHEITSDIENST"
ê "LOGT" "GSECSEC" 120 150 200 // INCLUDE TAB STOPS
J #üî
// COMMON LOG SCREEN BUTTONS....
:COMMON_LOG_BUTTONS
// BUTTONS
"lpub" $Ǽ "/! "
"lpdb" $Ǽ "/! "
"lsub" $Ǽ "/! "
"lsdb" $Ǽ "/! "
// HIGHLIGHT EXIT BUTTON
"xitb" $Ç¡ "EXIT/FSORTIE/GZURÜCK"
J #Ç║
:LPDB_REPEAT
:LPDB_BUTTON
@Çå (`ü« )
k ( "LOGT", $Ç┤ )
J #Ç║
:LPUB_REPEAT
:LPUB_BUTTON
@Çå (`ü« )
k ( "LOGT", $Ç│ )
J #Ç║
:LSDB_REPEAT
:LSDB_BUTTON
@Çå (`ü» )
k ( "LOGT", $Ç╕ )
J #Ç║
:LSUB_REPEAT
:LSUB_BUTTON
@Çå (`ü» )
k ( "LOGT", $Ç╖ )
J #Ç║
:ACCB_BUTTON
@Çå (`ü░ )
J #üû
// END PERSONNEL SCREEN BUTTONS....
// SECURITY ACCESS BUTTONS....
:ENTER_ACCESS
m
// SHOW SECURITY CODE NUMBER BACKGROUNDS
"nfda" $Ǽ
// HIGHLIGHT EXIT BUTTON
"xitb" $Ç¡ "EXIT/FSORTIE/GZURÜCK"
"clrb" $Ǽ "CLEAR/FEFFACER/GABBRECHEN"
"kn0b" $Ǽ "/!0 "
"kn1b" $Ǽ "/!1 "
"kn2b" $Ǽ "/!2 "
"kn3b" $Ǽ "/!3 "
"kn4b" $Ǽ "/!4 "
"kn5b" $Ǽ "/!5 "
"kn6b" $Ǽ "/!6 "
"kn7b" $Ǽ "/!7 "
"kn8b" $Ǽ "/!8 "
"kn9b" $Ǽ "/!9 "
ê "UIFT" "GSECINST"
// SCRIPT DOES NOT SUPPORT STRING VARIABLES SO WE NEED TO IMPLEMENT THIS
// WAY - IF YOU HAVE A BETTER WAY, PLEASE IMPLEMENT IT - JAR 12/20
:ACCESS_INIT
"sacl" "SECURITY ACCESS
/FACCES SECURITE
/GSICHERHEITSZUGANG"
// BLANK ID DIGIT LABELS
^ç╜ = 11
"nf1a" ^ç╜
"nf2a" ^ç╜
"nf3a" ^ç╜
"nf4a" ^ç╜
"nf5a" ^ç╜
^ç╛ = 1
^ç╝ = 0
^ç▓ = -1
^ç│ = -1
^ç┤ = -1
^ç╡ = -1
^ç╢ = -1
J #Ç║
// END ACCESS_INIT
:CHECK_ACCESS_ID
// AGAINST RANDOM NUMBERS FOR EACH DIGIT FOUND IN DANE'S LOG
I (^ç▓ != ^ç╖ ) THEN
{
J #üÖ
}
E
{
I (^ç│ != ^ç╕ ) THEN
{
J #üÖ
}
E
{
I (^ç┤ != ^ç╣ ) THEN
{
J #üÖ
}
E
{
I (^ç╡ != ^ç║ ) THEN
{
J #üÖ
}
E
{
I (^ç╢ != ^ç╗ ) THEN
{
J #üÖ
}
}
}
}
}
// ELSE
// VALID ID ENTERED
// IF CAYNAN'S ARM OVER PALM READER (IE, CONTAINED IN THE BOX "ARM_HERE")
@Ç¢ ( USE_BOT )
@ÇÜ ( CAYARM, CLOSEST )
I ( @Çí ( CURITEM, ARMHERE1 ) ) THEN
{
// REINSTATE CAYNANS SECURITY CODE
^è╣ = 1
ê "UIFT" "GSECPASS"
@Çå `ä¼
}
E
{
i LEX NEEDHAND
// NO HAND AGAINST PALM READER MSG
ê "UIFT" "GSECNOHN"
^ç╛ = 0
@Çå `ä¡
W 65
// RESTART ENTRY PROCESS
ê "UIFT" "GSECINST"
J #üù
}
//MON_DEFINEBUTTON "xitb" _MON_HIGHLIGHT "EXIT"
J #Ç║
:INVALID_ACCESS_ID
// PUT UP INVALID MESSAGE AND INIT
ê "UIFT" "GSECFAIL"
^ç╛ = 0
W 65
ê "UIFT" "GSECINST"
J #üù
:CLRB_BUTTON
@Çå (`ü» )
J #üù
:KN0B_BUTTON
@Çå (`ü░ )
^ç╝ = 0
J #üÑ
:KN1B_BUTTON
@Çå (`ü░ )
^ç╝ = 1
J #üÑ
:KN2B_BUTTON
@Çå (`ü░ )
^ç╝ = 2
J #üÑ
:KN3B_BUTTON
@Çå (`ü░ )
^ç╝ = 3
J #üÑ
:KN4B_BUTTON
@Çå (`ü░ )
^ç╝ = 4
J #üÑ
:KN5B_BUTTON
@Çå (`ü░ )
^ç╝ = 5
J #üÑ
:KN6B_BUTTON
@Çå (`ü░ )
^ç╝ = 6
J #üÑ
:KN7B_BUTTON
@Çå (`ü░ )
^ç╝ = 7
J #üÑ
:KN8B_BUTTON
@Çå (`ü░ )
^ç╝ = 8
J #üÑ
:KN9B_BUTTON
@Çå (`ü░ )
^ç╝ = 9
J #üÑ
:VAL_ASSIGN
// ACCESS ALLOWED?
I (^ç╛ != 1) THEN
J #Ç║
^ç╜ = ^ç╝ + 1
I (^ç▓ == -1) THEN
{
"nf1a" ^ç╜
^ç▓ = ^ç╝
}
E
{
I (^ç│ == -1) THEN
{
"nf2a" ^ç╜
^ç│ = ^ç╝
// MON_DEFINETEXT "sacl" "Enter Access Code [3]"
}
E
{
I (^ç┤ == -1) THEN
{
"nf3a" ^ç╜
^ç┤ = ^ç╝
// MON_DEFINETEXT "sacl" "Enter Access Code [4]"
}
E
{
I (^ç╡ == -1) THEN
{
"nf4a" ^ç╜
^ç╡ = ^ç╝
// MON_DEFINETEXT "sacl" "Enter Access Code [5]"
}
E
{
I (^ç╢ == -1) THEN
{
"nf5a" ^ç╜
^ç╢ = ^ç╝
J #üÿ
}
}
}
}
}
J #Ç║
// END: SECURITY ACCESS BUTTONS....
// COMMON EXIT BUTTON TO SUB-SCREENS
:XITB_BUTTON
@Çå (`ü▓ )
J #Ç╗
:ESCAPE_BUTTON
:AXTB_BUTTON
@Çå (`ü▓ , 200, -2048)
}
// 7.15 CRYO ROOM/FREEZER MONITOR
{ CR_FREEZERMONITOR
// THESE VARIABLES ARE USED IN ORDER TO RELEASE FIDO WHEN EXITING THE
// MONITOR
P ~ÇÇ
P ~Çü
~ÇÇ = 0
~Çü = 1
I ( @Çú () ) THEN é
"crym"
^èò = $Ç╝
^èÅ = 0
^èæ = 0
^èÆ = 1
^èù = 10
^èö = 0
^èá = 0
^èƒ = 0
:ATTRACT
^èÉ = 0
^èó
^èú
m
// SET UP ATTRACT SCREEN
^è₧ = $Ç╗ // NOT IN THE NOTES SCREEN
"axtb" $Ç¡ "EXIT/FSORTIE/GZURÜCK"
"ch1b" "CHAMBER 1/FCHAMBRE 1/GZIMMER 1"
"ch2b" "CHAMBER 2/FCHAMBRE 2/GZIMMER 2"
"ch3b" "CHAMBER 3/FCHAMBRE 3/GZIMMER 3"
"ch4b" "CHAMBER 4/FCHAMBRE 4/GZIMMER 4"
"rnga" 1
"radb" $Ǽ "EMERGENCY/FALERTE/GNOTFALL"
"hedl" "CRYOGENICS SYSTEM
/FSYSTEME CRYOGENIQUE
/GKRYOGENIKSYSTEM"
J #ü½
// WAIT FOR INPUT
:CRYO_LOOP
â
J #ü½
:CH1B_BUTTON
@Çå (`üÉ , 150, -2048)
// CALL NEXT SCREEN
^èÉ = 1
//JUMP AROUND_FIDO
I (^èô = 0 AND ^Ç¥ ) THEN
{
~Çü = 0
^èÅ = 1
^èæ = 0
^èÆ = 1
^èÿ = 89
^èö = 0
^èù = 7
~ÇÇ = @Çì FIDO_WAKENS
}
E
{
I ^èô THEN
{
^èæ = 9
^èö = 1
^èÅ = 0
^èÿ = 5
^èù = 98
^èÆ = 0
}
E
{
^èÅ = 1
^èæ = 0
^èÆ = 1
^èÿ = 89
^èö = 0
^èù = 7
}
}
:AROUND_FIDO
J #éç
:CH2B_BUTTON
@Çå (`üÉ , 150, -2048)
// CALL NEXT SCREEN
^èÉ = 2
^èæ = 1
^èÅ = 1
^èÿ = 74
^èù = 7
^èö = 0
^èÆ = 1
J #éç
:CH3B_BUTTON
@Çå (`üÉ , 150, -2048)
// CALL NEXT SCREEN
^èÉ = 3
^èæ = 9
^èÅ = 0
^èÿ = 3
^èù = 100
^èÆ = 0
^èö = 1
J #éç
:CH4B_BUTTON
@Çå (`üÉ , 150, -2048)
// CALL NEXT SCREEN
^èÉ = 4
^èæ = 0
^èÅ = 1
^èÿ = 84
^èù = 10
^èö = 0
^èÆ = 1
J #éç
:CPUB_REPEAT
:CPUB_BUTTON
@Çå (`ü« , 100, 2048)
k "ctxt" $Ç│
J #ü½
:CPDB_REPEAT
:CPDB_BUTTON
@Çå (`ü« , 100, 2048)
k "ctxt" $Ç┤
J #ü½
:CSUB_REPEAT
:CSUB_BUTTON
@Çå (`ü« , 100, 2048)
k "ctxt" $Ç╖
J #ü½
:CSDB_REPEAT
:CSDB_BUTTON
@Çå (`ü« , 100, 2048)
k "ctxt" $Ç╕
J #ü½
:NXTB_BUTTON
@Çå (`üÉ , 150, -1024)
// GOTO ATTRACT
J #ü¬
:AXTB_BUTTON
@Çå (`üÉ , 150)
// STOP MONITOR
J #éå
:RADB_BUTTON
@Çå (`üÉ , 150, -2048)
// ******* EMERGENCY SCREEN ********
m
ê ( "mlgt", "EVAC" )
( "mfrl", "FUSION REACTOR/FFUSION REACTEUR/GFUSIONSREAKTOR" )
( "mpsl", "EMERGENCY PROCEDURE/FPROCEDURE D'URGENCE/GIM NOTFALL" )
// WE USING BLANKS HERE SO THAT NO TEXT WILL APPEAR
( "mSUB", "/! ");
( "mSDB", "/! ");
( "mPUB", "/! ");
( "mPDB", "/! ");
( "mxtb", "EXIT/FSORTIE/GZURÜCK", $Ç¡ );
J #ü½
:MSUB_REPEAT
:MSUB_BUTTON
@Çå (`ü« )
k ( "MLGT", $Ç╖ )
J #ü½
:MSDB_REPEAT
:MSDB_BUTTON
@Çå (`ü« )
k ( "MLGT", $Ç╕ )
J #ü½
:MPDB_REPEAT
:MPDB_BUTTON
@Çå (`ü» )
k ( "MLGT", $Ç┤ )
J #ü½
:MPUB_REPEAT
:MPUB_BUTTON
@Çå (`ü» )
k ( "MLGT", $Ç│ )
J #ü½
:MXTB_BUTTON
@Çå (`üÉ , 150, -1024)
// GOTO ATTRACT
J #ü¬
:ESCAPE_BUTTON
@Çå (`ü▓ , 150)
:STOP_CRYM
^èò = $Ç╗
//IF (_FLATFRAME != 0 ) THEN
^èó
//IF (_BEATFRAME != 0 ) THEN
^èú
I ~Çü = 0 THEN
{
~ÇÇ
@Çì EXITING_AWAKENS
}
é
:NOTES_CRYO_MONITOR
// CLEAR SCREEN
m
^èó
^èú
^è₧ = $Ç╝
// DISPLAY NOTES SCREEN
"cmbl" "CHAMBER/FCHAMBRE/GZIMMER"
"tmpl" "TEMPERATURE/FTEMP/GTEMP."
"fldl" "FLUID LEVELS/FFLUIDE/GFLÜSSIGKEIT"
"htrl" "HEART RATE/FPULSATIONS/GPULS"
"cpub" "/! "
"cpdb" "/! "
"csub" "/! "
"csdb" "/! "
N (^èÉ )
{
U 1
"cbnl" "1"
j "ctxt" "freezer1"
X Çè
U 2
"cbnl" "2"
j "ctxt" "freezer2"
X Çè
U 3
"cbnl" "3"
j "ctxt" "freezer3"
X Çè
U 4
"cbnl" "4"
j "ctxt" "freezer4"
X Çè
// ELSE - SYSTEM FAULT SO STOP MONITOR
U 0
J #ü║
X Çè
}
// FIND OUT WHICH FLUID LEVEL TO USE
I ( ^èÅ == 0 ) THEN
{
"flvl" $Ç¡ "CRITICAL/FCRITIQUE/GKRITISCH"
}
E
{
"flvl" $Ǽ " NOMINAL/FNOMINAL/GNORMAL"
}
// FIND OUT WHICH TEMPERATURE TO USE (RANGE 0 - 9)
N (^èæ )
{
U 0
"tpvl" "/! 73 K"
X Çï
U 1
"tpvl" "/! 82 K"
X Çï
U 9
"tpvl" $Ç¡ "/! 173 K"
X Çï
V
"tpvl" "FAIL/FRATE/GAUSFALL"
}
// FIND OUT WHICH HEART RATE TO USE (RANGE 0 - 9)
N (^èÆ )
{
U 0
"bpml" "/! 0 BPM"
X Çî
U 1
"bpml" "/! 48 BPM"
X Çî
U 9
"bpml" "/!118 BPM"
X Çî
V
"bpml" "FAIL/FRATE/GAUSFALL"
}
// MON_SETFRAME "hbra" _MON_NORMAL
// SET THE FLUID LEVEL AND THE TEMPERATURE BARS
s "tbrs" 100 1
s "tbrs" ^èù 2
s "fbrs" 100 1
s "fbrs" ^èÿ 2
"nxtb" $Ç¡ "EXIT/FSORTIE/GZURÜCK"
// IF FLATLINE THEN DISPLAY FLATLINE ANIMATION ELSE SHOW BEATING
// HEART ANIMATION
I (^èö == 0 ) THEN
{
^èú = @Çì BEATLINE
}
E
{
^èó = @Çì FLATLINE
}
J #ü½
}
{ EXITING_AWAKENS
W 1 SECONDS
@Çì FRZR_DOR
}
// ------------------ END OF MONITOR SECTION -----------------
//$ 26 - version number